home *** CD-ROM | disk | FTP | other *** search
- I'd like to see some sort of compromise on this issue such that there
- are minimal changes to the IMAP spec, and minimal breakage of old
- clients.
-
- The published RFC-1176 spec is important, because we really don't know
- if anyone else has implemented it. I recall hearing about some
- commercial IMAP client, and I'm unsure if it's been tested on this
- issue. Any substantial change to the RFC-1176 spec could break
- existing clients and servers we don't know about.
-
- In addition, I agree that it is important not to break the reference
- IMAP implementation "too much". But when it was written such that it
- failed to meet the spec, I don't see a problem with it breaking on
- unusual cases (e.g. spaces or quotes in bboard names). I agree,
- however, that it has to work for the {hostname}folder notation since
- that's in common use.
-
- Let me try a slightly different proposal from my previous one:
-
- 1) STRINGs should be sent as NIL, a quoted-string, or a literal, but
- atoms should be accepted as per RFC-1176.
-
- 2) NEW-STRINGs are an ATOM, a quoted string, or a literal. An ATOM
- will be sent if at all possible. The parser should consider the
- argument an ATOM, unless it contains a `"' or begins with a `{'
- followed by a digit.
-
- 3) Change * MAILBOX, * BBOARD, SELECT, CREATE/RENAME/DELETE, etc. to
- use NEW-STRING.
-
- Proposal 1 should assure compatibility with the reference IMAP
- implementation, as well as compatibility with RFC-1176 based IMAP
- implementations.
-
- Proposals 2 & 3 are minimal changes to the grammer. They do permit
- the {hostname}folder notation as used today. They would break the
- reference IMAP implementation (with "* MAILBOX" and "* BBOARD") only
- when a bboard name contains a space or a double-quote -- both of which
- are very uncommon (I only noticed the problem because I was doing
- extreme-case testing of my IMSP server).
-
- I'd also like to point out that what I describe for NEW-STRING is
- almost precisely what is implemented by the snarf() function in
- imapd.c -- the only exception being that snarf() uses text_line where
- I use ATOM.
-
- - Chris
-
-
-